1. Field of the Invention
The invention relates to memory mapping and enabling systems used in computers.
2. Description of the Related Art
Personal computer systems are becoming more complex and powerful at a rapid rate. With the introductions by Intel Corporation (Intel) of the 80286 and 80386 microprocessors, large amounts of memory could be readily utilized. Therefore, it was desirable that the computer system be capable of containing large amounts of memory, particularly memory that was the same width as the microprocessor in the computer system. The situation was complicated because memory was relatively expensive, so the memory was only added in certain modular sizes, often through the use of piggy-backed modules or single in-line memory modules which contained dynamic random access memory (DRAM) devices. The modules varied in cost and memory size based on the number and size of the memory devices utilized. The system board or base memory board contained numerous locations for the insertion of the modules. Conventionally the modules had very little circuitry beyond the memory devices, so the various strobe signals needed by DRAM's had to be developed by the memory system. This required developing the proper row and column address strobe signals for the appropriate module. Problems arose because of the different size modules and because the modules could physically be installed in one of several locations. Because of limitations of the strobe developing circuitry, the modules were required to be installed in certain orders, depending on module size and the number of modules. Thus, system installers and users were limited in their flexibility of installing memory modules.
Additionally, provisions had to be made for portions of the memory failing. The cost of memory modules was such that it was not reasonable to require replacement of an entire module if only a portion of the module failed. Various remapping schemes were developed to perform this function automatically, but the techniques exacerbated the strobe development problems. Therefore the remapping capabilities were relatively limited. Thus the user had limitations on where memory modules could be located in the system and how many errors could develop before requiring replacement of the module.
Further complicating the situation was the need, especially in the 80386-based computer systems, to transfer the BIOS code from slow read only memory (ROM) to faster random access memory (RAM) to improve system performance. Also, certain areas of memory had to be write protected for various reasons. Add these situations to the other factors and the final result had been computer systems with complex memory system designs which were still relatively inflexible as to the location and arrangement of memory modules and remapping capabilities.